/************************************************************/
/***************************定义变量*************************/
/** ********************************************************* */
// jQueryEasyUI对象变量
var jQueryEasyUI;
var datagridJQueryFind = "#dataGrid";
var dataFormDiv = "#dataForm";
var baseDeviceInfoRequestUrl = '/basicinfo/deviceinfo';
var userRequestUrl = '/dashu-authority/user';
var roleRequestUrl = '/dashu-authority/roleController';
var menuRequestUrl = '/dashu-authority/menu';
var personnelIds = new Array();

var token = getQueryStr("DASHU_AUTH_TOKEN");
var pathCode="";
$(function() {
	initDataGrid();
	$("#search").click(function() {
		var param = $.fn.getFormParams(searchFrom);
		$(datagridJQueryFind).datagrid('options').queryParams = param;
		$(datagridJQueryFind).datagrid('reload');
	});
	$("#clearBtn").click(function() {
		clearFrom(searchFrom);
	});
	$("#dlgDIV").hide();
	$("#tr_deviceInfo_dataGrid").hide();
	$("#tr_userInfo_dataGrid").hide();
	$("#user_district").hide();
	$(".user_name").hide();
	
	
	
	//初始化所属人员类型
	$("#personnel_id").combobox({
		 valueField: 'personnelSore',
		 textField: 'name',  
		 panelHeight : 'auto',   
		 required : false,   
		 editable : false,// 不可编辑，只能选择   
		 data :  [ {"name":"用户","personnelSore":"personnel_user"},{"name":"角色","personnelSore":"personnel_role"}],
		 onSelect:function(data){
			 if("user"==data.personnelSore){
				 personnelSearchData(userRequestUrl+'/findAllByPaging.json?DASHU_AUTH_TOKEN='+token,data.personnelSore);
			 }else if("role"==data.personnelSore){
				 personnelSearchData(roleRequestUrl+'/findAllByPaging.json?DASHU_AUTH_TOKEN='+token,data.personnelSore);
			 }
		 } 
	});
	
	
	//初始化操作类型
	$("#operate_id").combobox({
		 valueField: 'operateSore',
		 textField: 'name',  
		 panelHeight : 'auto',   
		 required : false,   
		 editable : false,// 不可编辑，只能选择   
		 data :  [ {"name":"菜单","operateSore":"menu"}],
		 onSelect:function(data){
			 if("menu"==data.operateSore){
				 $("#user_district").show();
				// 初始化tree					
					$('#tt').tree({
						url : '',
						checkbox:true,
						animate:true,
						cascadeCheck:false,
						onCheck: function (node, checked) {
							if (checked) {
					            var parentNode = $("#tt").tree('getParent', node.target);
					            if (parentNode != null) {
					              $("#tt").tree('check', parentNode.target);
					            }
					          } else {
					            var childNode = $("#tt").tree('getChildren', node.target);
					            if (childNode.length > 0) {
					              for (var i = 0; i < childNode.length; i++) {
					                $("#tt").tree('uncheck', childNode[i].target);
					              }
					            }
					          }
					        },
					        onClick:function (node, checked) {
					        	
					        },
						onBeforeExpand : function(node, param) {
							// 加载子节点 为了避免重复加载 ，用load_flag变量来控制，0为未加载，1为已加载
							if (node.load_flag == 0) {
								var str = "path_code=" + node.id + "&type="
										+ node.child_type;
								var att_url = menuRequestUrl+'/queryMenuTreeList?DASHU_AUTH_TOKEN='+token
										+ str;
								// 节点加载
								setTreeJson("#tt", att_url, node);
							}
						}
					});
					var att_url = menuRequestUrl+'/queryMenuTreeList?DASHU_AUTH_TOKEN='+token
					setTreeJson("#tt", att_url, null);
			 }
		 } 
	});
	
	

});
function getChecked()
{
  var arr = [];
  var checkeds = $('#tt').tree('getChecked', 'checked');
  for (var i = 0; i < checkeds.length; i++) {
    arr.push(checkeds[i].id);
  }
  alert(arr.join(','));
}

function personnelSearchData(url,personnelSore){
	$("#tr_deviceInfo_dataGrid").show();
	//加载所属人员类型信息
	$("#deviceInfo_dataGrid").datagrid({
		loadMsg:"数据加载中，请稍后……",
		url :url,
		width : '100%',
		pagination : true,
		pageSize : 10,
		singleSelect : false,
		striped : true,
		sortOrder : 'asc',
		rownumbers : true,
		loadFilter:function(data){
			return parseDataGrid(data);
		},
		onSelect:function(rowIndex, rowData){
			personnelIds.push(rowData.id);
		},
		onUnselect:function(rowIndex, rowData){
			for(var i=0;i<personnelIds.length;i++){
				if(personnelIds[i]==rowData.id){
					personnelIds.splice(i,1);
				}
			}
		},
		queryParams:{
			/*deviceName:$("#deviceName").val(),
			deviceCode:$("#deviceCode").combobox('getValue')*/
		},
		columns : [ [ {
        	  field:'checkbox',
        	  checkbox:true,
        	  
          },{
			field : 'id',
  			title : 'ID',
  			width : 65,
  			align : 'center',
 			hidden : true,
  			sortable : true,
		},{
			field : 'userName',
			title : '用户名称',
			width : 90,
			align : 'center',
			hidden: "user" == personnelSore ? false : true,		
			sortable : true
		},{
			field : 'phoneNo',
			title : '电话号码',
			width : 90,
			align : 'center',
			hidden: "user" == personnelSore ? false : true,		
			sortable : true
		},{
			field : 'userAddress',
			title : '用户地址',
			width : 90,
			align : 'center',
			hidden: "user" == personnelSore ? false : true,		
			sortable : true
		},{
			field : 'roleName',
			title : '角色名称',
			width : 90,
			align : 'center',
			hidden: "role" == personnelSore ? false : true,		
			sortable : true
		},{
			field : 'parentName',
			title : '上级角色',
			width : 90,
			align : 'center',
			hidden: "role" == personnelSore ? false : true,		
			sortable : true
		}] ]
	});
}


function initDataGrid() {
	$(datagridJQueryFind).datagrid({
		loadMsg:"数据加载中，请稍后……",
		//url : baseDeviceInfoRequestUrl+'/findAllDeviceUser.json?pathCode='+pathCode,
		toolbar : [{
			text : '添加',
			iconCls : 'icon-add',
			handler : function() {
				formsubmitUrl = baseDeviceInfoRequestUrl+'/saveDeviceUser.json?pathCode='+pathCode;
				clearFrom(dataFormDiv);
				setDialog("#dlgDIV", '','新增');
			}
		},'-',{
			text : '删除',
			iconCls : 'icon-cancel',
			handler : function() {
				var rows = $(datagridJQueryFind).datagrid("getSelections");
				if (rows.length == 0 ) {
					$.messager.alert("操作提示", "请至少选择一行", "info");
				} else {
					var ids = [];
					for (var i = 0; i < rows.length; i++) {
						ids.push(rows[i].id);
					}
					$.messager.confirm('确认','您确认想要删除选中的权限数据？',function(r) {
						if (r) {
							$.ajax({
								type : "POST",
								dataType : 'html',
								url : baseDeviceInfoRequestUrl+'/deleteDeviceUserByIds.json?pathCode='+pathCode+'&ids='+ids,
								success : function(data) {
									var obj = eval('('+ data+ ')');
									console.log(JSON.stringify(obj));
									if (obj.status == 1) {
										$.fn.messageInfoTip(data);
										$(datagridJQueryFind).datagrid('reload');
									}
								},
								error: function(textStatus){
									if(console){
										console.error("ajax出现异常："+textStatus);
									}
									alert(textStatus);
								}
							});
						}else{
							return false;
						}
					});
				}
		}} ],
		width : '80%',
		pagination : true,
		pageSize : 10,
		singleSelect : false,
		striped : true,
		sortOrder : 'asc',
		rownumbers : true,
		onLoadSuccess : function() {
			$(datagridJQueryFind).datagrid('clearSelections');
		},
		loadFilter:function(data){
			return parseDataGrid(data);
		},
		onLoadError : function() {
		},
		columns : [ [ {
			field : 'id',
			title : 'ID',
			width : 65,
			align : 'center',
			hidden : true,
			sortable : true
		}, {
			field : 'userType',
			title : 'userType',
			width : 65,
			align : 'center',
			hidden : true,
			sortable : true
		},{
			field : 'user',
			title : 'user',
			width : 65,
			align : 'center',
			hidden : true,
			sortable : true
		},{
			field : 'deviceId',
			title : '设备编码',
			width : 180,
			align : 'center',
			sortable : true
		}, {
			field : 'deviceName',
			title : '设备名称 ',
			width : 180,
			align : 'center',
			sortable : true
		}, {
			field : 'utypeName',
			title : '所属人类型 ',
			width : 180,
			align : 'center',
			sortable : true,
		}, {
			field : 'userName',
			title : '所属人 ',
			width : 180,
			align : 'center',
			sortable : true,
		}, {
			field : 'createTime',
			title : '创建时间 ',
			width : 180,
			align : 'center',
			sortable : true
		} ] ]
	});
}


function clearFrom(cform){
	$(cform).form("clear");
}

function submitForm() {
	alert(personnelIds);
	return;
	$('#dataForm').form('submit', {
		url : formsubmitUrl,
		ajax : true,
		onSubmit:function(){
			return $(this).form('validate');
		},
		success : function(data) {
			var obj = eval('(' + data + ')');
			var status = obj.status;
			console.log(JSON.stringify(obj));
			if (status == 1) {
				$.fn.messageInfoTip(data);
				$('#dlgDIV').dialog('close');
				$(datagridJQueryFind).datagrid('reload');
			} else {
				$.fn.messageInfoTip(data);
			}
		}
	});
}
function setDialog(dialogDiv, hrefHtml, title) {
	$(dialogDiv).show();
	$("#tr_deviceInfo_dataGrid").hide();
	$("#tr_userInfo_dataGrid").hide();
	$(dialogDiv).dialog({
		title : title,
		width : 600,
		height : 400,
		closed : false,
		cache : false,
		modal : true,
		buttons : [ {
			text : '保存',
			iconCls : 'icon-ok',
			handler:function(){
				//树选中
				var checkeds = $('#tt').tree('getChecked');
				getChecked();
				console.log(checkeds);
				var districtCodes=new Array();
				for (var i = 0; i < checkeds.length; i++) {
					districtCodes.push(checkeds[i].id);
				}
				submitForm();
			}
		}, {
			text : '重置',
			iconCls : 'icon-clear',
			handler : function() {
				clearFrom(dataFormDiv);
			}
		}, {
			text : '关闭',
			iconCls : 'icon-remove',
			handler : function() {
				$(dialogDiv).dialog('close');
			}
		} ]
	});
}
